var express = require('express'), routes = require('./routes');

var app = module.exports = express.createServer();


// Configuration
app.configure(function(){
	app.set('views', __dirname + '/views');
	app.set('view engine', 'jade');
	app.set('view options', { layout: false });
	app.use( express.bodyParser() );
	app.use( express.cookieParser() );
	app.use( express.methodOverride() );
	app.use(app.router);
	app.use( express.static(__dirname + '/public') );
});

app.configure('development', function(){
	app.use( express.errorHandler({ dumpExceptions: true, showStack: true }) );
});

app.configure('production', function(){
	app.use( express.errorHandler() );
});


// Routes
app.post('/player/login', routes.player.login);
app.get('/player/get', routes.player.get);
app.get('/room/list', routes.room.list);
app.get('/room/list/:timestamp', routes.room.list);
app.post('/room/enter', routes.room.enter);
app.post('/room/exit', routes.room.exit);
app.post('/room/create', routes.room.create);
app.post('/room/startgame', routes.room.startGame);
app.post('/room/setready', routes.room.setReady);
app.post('/room/cancelready', routes.room.cancelReady);
app.get('/room/query/:roomId/:timestamp', routes.room.query);
app.post('/room/submitpokers', routes.room.submitPokers);


app.listen(3000, function(){
	console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});